﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Collections.Generic;
using TerminologiaSinacor.Presenter;
using TerminologiaSinacor.Presenter.Interface;

using TerminologiaSinacor.Utility;

public partial class page_PesquisaGlossario : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            Binding();
        }
    }

    private void Binding()
    {
        Responsavel responsavel = new Responsavel();

        TerminologiaSinacor.Utility.BindingUtil.SetDataSource(responsavel.search(), DrpResponsavelDocumentacao, "nome", "nome", "", "[Responsável]");

        TerminologiaSinacor.Utility.BindingUtil.SetDataSource(responsavel.search(), DrpResponsavelValidacao, "nome", "nome", "", "[Responsável]");
 
        //Responsavel responsavel = new Responsavel();
        //DrpResponsavelDocumentacao.DataTextField = "nome";
        //DrpResponsavelDocumentacao.DataValueField = "codigo";
        //DrpResponsavelDocumentacao.DataSource = responsavel.search();
        //DrpResponsavelDocumentacao.DataBind();
        ////
        //DrpResponsavelValidacao.DataTextField = "nome";
        //DrpResponsavelValidacao.DataValueField = "codigo";
        //DrpResponsavelValidacao.DataSource = responsavel.search();
        //DrpResponsavelValidacao.DataBind();
    }

    //private void Binding(List<Glossario> glossarios)
    //{
    //        //this.TxtAbreviaturas1.Text = myGlossario.Abreviatura1;
    //        //this.TxtAbreviaturas2.Text = myGlossario.Abreviatura2;
    //        //this.TxtComentario.Text = myGlossario.Comentario;
    //        //this.TxtDataDocumentacao.Text = myGlossario.DocumentacaoData;
    //        //this.TxtDataValidacao.Text = myGlossario.ValidacaoData;
    //        //this.TxtDescricao.Text = myGlossario.Descricao;
    //        //this.TxtNomeFisico.Text = myGlossario.NomeFisico;
    //        //this.TxtNomeTermo.Text = myGlossario.NomeTermo;
    //        //this.TxtResponsavelDocumentacao.Text = myGlossario.DocumentacaoResponsavel;
    //        //this.TxtResponsavelValidacao.Text = myGlossario.ValidacaoResponsavel;
    //        //this.TxtTermoRecomendado.Text = myGlossario.TermoRecomendado;
    //        //this.TxtNomePreterido1.Text = myGlossario.NomePreterido1;
    //        //this.TxtNomePreterido2.Text = myGlossario.NomePreterido2;
    //        //this.TxtNomePreterido3.Text = myGlossario.NomePreterido3;
    //        //this.TxtNomePreterido4.Text = myGlossario.NomePreterido4;
    //        //this.TxtNomePreterido5.Text = myGlossario.NomePreterido5;
    //        //this.TxtNomePreterido6.Text = myGlossario.NomePreterido6;
    //        //this.ChkSinonimo.Checked = myGlossario.Sinonimo;

    //        // ResponsavelDocumentacao
    //        ListItem myItem = new ListItem(myGlossario.DocumentacaoResponsavel);
    //        if (this.DrpResponsavelDocumentacao.Items.Contains(myItem))
    //        {
    //            this.DrpResponsavelDocumentacao.SelectedValue = myGlossario.DocumentacaoResponsavel;
    //        }

    //        //ResponsavelValidacao
    //        ListItem myItem2 = new ListItem(myGlossario.ValidacaoResponsavel);
    //        if (this.DrpResponsavelValidacao.Items.Contains(myItem2))
    //        {
    //            this.DrpResponsavelValidacao.SelectedValue = myGlossario.ValidacaoResponsavel;
    //        }

    //    }

  //  }

    protected void btnPesquisar_Click(object sender, EventArgs e)
    {
        Glossario glossario = this.SetFiltro();
        BindingGrid(glossario);
    }

    private void BindingGrid(Glossario glossario)
    {
        this.GrdGlossario.DataSource = glossario.search(glossario);
        this.GrdGlossario.DataBind();
    }

    //private void search()
    //{
    //    string campoNome = "";
    //    string campoConteudo = "";
    //    if (this.DrpCampoNome.SelectedValue != "")
    //    {
    //        campoNome = this.DrpCampoNome.SelectedValue;
    //        campoConteudo = this.TxtCampoConteudo.Text;
    //    }
    //    Glossario glossario = new Glossario();
    //    UnBindig(glossario);
    //    // carregar fontes com os campos para filtro;
    //    //this.GrdGlossario.DataSource = glossario.search(glossario);
    //    this.GrdGlossario.DataSource = glossario.search(campoNome, campoConteudo);
    //    this.GrdGlossario.DataBind();
    //}


    private Glossario SetFiltro()
    {
        Glossario myGlossario = new Glossario();

        myGlossario.Abreviatura1 = this.TxtAbreviaturas1.Text;
        myGlossario.Abreviatura2 = this.TxtAbreviaturas2.Text;
        myGlossario.Comentario = this.TxtComentario.Text;
        myGlossario.DocumentacaoData = this.TxtDataDocumentacao.Text;
        myGlossario.ValidacaoData = this.TxtDataValidacao.Text;
        myGlossario.Descricao = this.TxtDescricao.Text;
        myGlossario.NomeFisico = this.TxtNomeFisico.Text;
        myGlossario.NomeTermo = this.TxtNomeTermo.Text;
        myGlossario.DocumentacaoResponsavel = this.DrpResponsavelDocumentacao.SelectedValue; ;
        myGlossario.ValidacaoResponsavel = this.DrpResponsavelValidacao.SelectedValue;
        myGlossario.TermoRecomendado = this.TxtTermoRecomendado.Text;
        myGlossario.NomePreterido1 = this.TxtNomePreterido1.Text;
        myGlossario.NomePreterido2 = this.TxtNomePreterido2.Text;
        myGlossario.NomePreterido3 = this.TxtNomePreterido3.Text;
        myGlossario.NomePreterido4 = this.TxtNomePreterido4.Text;
        myGlossario.NomePreterido5 = this.TxtNomePreterido5.Text;
        myGlossario.NomePreterido6 = this.TxtNomePreterido6.Text;
        myGlossario.Sinonimo = this.ChkSinonimo.Checked;

        this.ViewState["FontesFiltro"] = myGlossario;

        return myGlossario;

    }
    
    private void Limpar()
    {
        this.TxtAbreviaturas1.Text = "";
        this.TxtAbreviaturas2.Text = "";
        this.TxtComentario.Text = "";
        this.TxtDataDocumentacao.Text = "";
        this.TxtDataValidacao.Text = "";
        this.TxtDescricao.Text = "";
        this.TxtNomeFisico.Text = "";
        this.TxtNomeTermo.Text = "";
        //this.TxtResponsavelDocumentacao.Text = "";
       // this.TxtResponsavelValidacao.Text = "";
        this.TxtTermoRecomendado.Text = "";
        this.TxtNomePreterido1.Text = "";
        this.TxtNomePreterido2.Text = "";
        this.TxtNomePreterido3.Text = "";
        this.TxtNomePreterido4.Text = "";
        this.TxtNomePreterido5.Text = "";
        this.TxtNomePreterido6.Text = "";
        this.ChkSinonimo.Checked = false;
        this.DrpResponsavelDocumentacao.SelectedIndex = 0;
        this.DrpResponsavelValidacao.SelectedIndex = 0;
    }

    //private void Limpar()
    //{
    //    //Control ctl;
    //    foreach (Control ctl in this.Page.Form.Controls)
    //    {
    //        TextBox tb;
    //        if (ctl is TextBox)
    //        {
    //            tb = (TextBox)ctl;
    //            tb.Text = String.Empty;
    //        }
    //    }
    //}

    protected void GrdGlossario_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        Glossario glossario = (Glossario)ViewState["FontesFiltro"];
        this.GrdGlossario.PageIndex = e.NewPageIndex;
        BindingGrid(glossario);
        Limpar();
    }

    protected void BtnLimpar_Click(object sender, EventArgs e)
    {
        this.Limpar();
    }

    /// Data:23/07/2008 14:17
    /// Autor:DSales.7Comm
    /// Obs: Eventos para efeito do mouseOver,MouseOut e click
    protected void GrdGlossario_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes.Add("onMouseOver", "this.style.backgroundColor='#DAA520'; this.style.cursor='hand';");
            e.Row.Attributes.Add("onMouseOut", "this.style.backgroundColor='#ffffff'");
            e.Row.Attributes.Add("onClick", "CarregarCamposPesquisaGlossario(this);");
        }
    }

    protected void GrdGlossario_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
        Response.Write("passou");
        e.NewSelectedIndex = GrdGlossario.Rows[0].DataItemIndex;
    }    
}
